<?php

class Reportes extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->datosusuario = $this->authentication->getDataLogged();
        $this->load->model('M_reporte', 'reporte');
    }

    /**
     * Muestra la pantalla de login.
     * @return void
     */
    function index() {
        $data = array(
            'titulo' => 'Listado de Reportes',
            'datosusuario' => $this->datosusuario,
            'seleccionar' => 'reportes',
            'reporte' => $this->reporte->getListPorCausaId(6),
        );

        $this->load->view('templates/header', $data);
        $this->load->view('templates/topbar');
        $this->load->view('reportes/leftbar');
        $this->load->view('reportes/index');
        $this->load->view('templates/footer');
    }

    function buscar_demandado_medico_causa() {
        $this->load->model('m_medico', 'medico');
        $this->load->model('m_demandado', 'demandado');
        $medico = array();
        $demandados_agregados = Array();
        if (isset($_POST['submit'])) {
            $where = array();
            if ($this->input->post('matricula') != '') {
                $where['matricula'] = $this->input->post('matricula');
            }
            if ($this->input->post('numeroDoc') != '') {
                $where['numeroDoc'] = $this->input->post('numeroDoc');
            }
            if ($this->input->post('nombre') != '') {
                $where['nombre like'] = '%' . $this->input->post('nombre') . '%';
            }

            $medico = $this->medico->getList($where);

            $demandados = $this->demandado->getList(array('causaId' => $this->datoscausa['id']));

            foreach ($demandados as $demandado) {
                $demandados_agregados[] = $demandado->matricula;
            }
        }


        $data = array(
            'titulo' => 'Listado de Causas por Médico',
            'datosusuario' => $this->datosusuario,
            'datoscausa' => $this->datoscausa,
            'demandados_agregados' => $demandados_agregados,
            'medicos' => $medico,
            'seleccionar' => 'reportes',
        );

        $this->load->view('templates/header', $data);
        $this->load->view('templates/topbar');
        $this->load->view('reportes/leftbar');
        $this->load->view('reportes/buscar_demandado_medico_causa', $data);
        $this->load->view('templates/footer');
    }

    function buscar_estudio() {
        //$this->load->model('m_estudio', 'estudio');
        $this->load->model('m_depto_judicial', 'depto_judicial');

        $valid = array(
            array('field' => 'deptoJudicialId', 'label' => 'Dpto Judicial', 'rules' => 'trim|required'),
            array('field' => 'fechaDesde', 'label' => 'Fecha Desde', 'rules' => 'trim|required'),
            array('field' => 'fechaHasta', 'label' => 'Fecha Hasta', 'rules' => 'trim|required'),
            array('field' => 'fueroId', 'label' => 'Fuero', 'rules' => 'trim|required'),
        );

        $this->form_validation->set_rules($valid);

        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $fechaDesde = $_POST['fechaDesde'];
                $fechaHasta = $_POST['fechaHasta'];
            } else {
                $fechaDesde = date('d/m/Y', strtotime('-1 year'));
                $fechaHasta = date('d/m/Y');
            }

            $dptosjudiciales_array = $this->depto_judicial->getList();

            $dptosJudiciales[''] = 'Seleccione un Dpto Judicial';

            foreach ($dptosjudiciales_array as $value) {
                $dptosJudiciales[$value->id] = $value->nombre;
            }

            $this->load->model('m_fuero', 'fuero');
            $fueros_array = $this->fuero->getList();

            $fueros[''] = 'Seleccione un fuero';

            foreach ($fueros_array as $value) {
                $fueros[$value->id] = $value->nombre;
            }

            $data = array(
                'titulo' => 'Listado de Causas Finalizadas por Dpto Judicial',
                'datosusuario' => $this->datosusuario,
                'dptoJudicial' => $dptosJudiciales,
                'fechaDesde' => $fechaDesde,
                'fechaHasta' => $fechaHasta,
                'fuero' => $fueros,
                'seleccionar' => 'reportes',
            );

            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/buscar_estudio');
            $this->load->view('templates/footer');
        } else {
            redirect('reportes/causas_por_estudio/' . $this->input->post('deptoJudicialId') . '/' . normal_to_database_date_2($this->input->post('fechaDesde')) . '/' . normal_to_database_date_2($this->input->post('fechaHasta')) . '/' . $this->input->post('fueroId'));
        }
    }

    function causas_por_demandado($matricula, $print = 0) {
        $titulos = array(
            'Nro de Causa',
            'Fuero',
            'Carátula',
            'Fecha de Inicio',
            'Fecha de Presentación',
            'Lugar del Acto',
        );
        $atributos = array(
            'causaId',
            'fueroNombre',
            'caratulaNombre',
            'fechaInicio',
            'fechaPrecentacion',
            'lugarActo',
        );

        $this->load->model('m_medico', 'medico');
        $this->medico->get($matricula);

        $data = array(
            'titulo' => 'Listado de Causas por Médico',
            'datosusuario' => $this->datosusuario,
            'seleccionar' => 'reportes',
            'subtitulo' => 'Médico: <span>' . $this->medico->nombre . ' (' . $this->medico->matricula . ')',
            'reporte' => $this->reporte->buscarXDemandado($matricula),
            'titulos' => $titulos,
            'atributos' => $atributos,
            'url' => 'reportes/causas_por_demandado/',
            'parametro' => $matricula
        );

        if ($print == 0) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/reporte');
            $this->load->view('templates/footer');
        } else {
            // load PDF Class
            $this->pdf = new mPDF('c', 'A4');

            $html = $this->load->view('reportes/reporte', $data, true);

            // LOAD a stylesheet
            $stylesheet = file_get_contents(base_url('template-admin/css/bootstrap.css'));
            $this->pdf->WriteHTML($stylesheet, 1);

            $stylesheet = file_get_contents(base_url('template-admin/css/pdf.css'));
            $this->pdf->WriteHTML($stylesheet, 1);


            //$this->pdf->WriteHTML('<pagebreak sheet-size="A5-L" />');
            //$this->pdf->WriteHTML('<tocentry content="A5 landscape" />');


            $this->pdf->WriteHTML($html);
            $this->pdf->Output();
        }
    }

    function causas_por_estudio($deptoJudicialId, $fechaDesde, $fechaHasta, $fuero, $print = 0) {

        $titulos = array(
            'Nro de Causa',
            'Fuero',
            'Carátula',
            'Fecha de Inicio',
            'Fecha de Presentación',
            'Lugar del Acto',
        );
        $atributos = array(
            'causaId',
            'fueroNombre',
            'caratulaNombre',
            'fechaInicio',
            'fechaPrecentacion',
            'lugarActo',
        );

        $this->load->model('m_fuero', 'fuero');
        $this->fuero->get($fuero);
        $this->load->model('m_depto_judicial', 'depto_judicial');
        $this->depto_judicial->get($deptoJudicialId);

        $data = array(
            'titulo' => 'Listado de Causas Finalizadas por Dpto Judicial',
            'datosusuario' => $this->datosusuario,
            'subtitulo' => 'Depto. Judicial: <span>' . $this->depto_judicial->nombre . '</span><br/>Fecha Desde: <span>' . database_to_normal_date($fechaDesde) . '</span><br/>Fecha Hasta: <span>' . database_to_normal_date($fechaHasta) . '</span><br/>Fuero: <span>' . $this->fuero->nombre . '</span>',
            'seleccionar' => 'reportes',
            'reporte' => $this->reporte->getCausasFinalizadas($deptoJudicialId, $fechaDesde, $fechaHasta, $fuero),
            'titulos' => $titulos,
            'atributos' => $atributos,
            'url' => 'reportes/causas_por_estudio/',
            'parametro' => $deptoJudicialId . '/' . $fechaDesde . '/' . $fechaHasta . '/' . $fuero . '/'
        );

        if ($print == 0) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/reporte');
            $this->load->view('templates/footer');
        } else {
            // load PDF Class
            $this->pdf = new mPDF('c', 'A4');

            $html = $this->load->view('reportes/reporte', $data, true);

            // LOAD a stylesheet
            $stylesheet = file_get_contents(base_url('template-admin/css/bootstrap.css'));
            $this->pdf->WriteHTML($stylesheet, 1);

            $stylesheet = file_get_contents(base_url('template-admin/css/pdf.css'));
            $this->pdf->WriteHTML($stylesheet, 1);


            //$this->pdf->WriteHTML('<pagebreak sheet-size="A5-L" />');
            //$this->pdf->WriteHTML('<tocentry content="A5 landscape" />');


            $this->pdf->WriteHTML($html);
            $this->pdf->Output();
        }
    }

    function buscar_demandados_especialidad() {
        $this->load->model('m_estudio', 'estudio');

        $valid = array(
            array('field' => 'fechaDesde', 'label' => 'Fecha Desde', 'rules' => 'trim|required'),
            array('field' => 'fechaHasta', 'label' => 'Fecha Hasta', 'rules' => 'trim|required'),
        );

        $this->form_validation->set_rules($valid);

        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $fechaDesde = $_POST['fechaDesde'];
                $fechaHasta = $_POST['fechaHasta'];
            } else {
                $fechaDesde = date('d/m/Y', strtotime('-1 year'));
                $fechaHasta = date('d/m/Y');
            }

            $data = array(
                'titulo' => 'Listado de Demandados por Especialidad',
                'datosusuario' => $this->datosusuario,
                'seleccionar' => 'reportes',
                'fechaDesde' => $fechaDesde,
                'fechaHasta' => $fechaHasta,
                    //      'fuero' => $fueros
            );

            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/buscar_demandados_especialidad');
            $this->load->view('templates/footer');
        } else {
            redirect('reportes/demandados_especialidad/' . normal_to_database_date_2($this->input->post('fechaDesde')) . '/' . normal_to_database_date_2($this->input->post('fechaHasta')));
        }
    }

    function demandados_especialidad($fechaDesde, $fechaHasta, $print = 0) {

        $reporte = $this->reporte->getCantDemandadosPorEspe($fechaDesde, $fechaHasta);

        $suma = 0;
        $unset = array();
        foreach ($reporte as $key => $item) {
            if ($item->cantDemandados == 0) {
                $unset[] = $key;
            } else {
                $suma = $suma + $item->cantDemandados;
            }
        }

        foreach ($unset as $id) {
            unset($reporte[$id]);
        }

        $datos = array();
        foreach ($reporte as $id => $item) {
            if ($item->cantDemandados == 0) {
                $datos[$id]['porcentaje'] = 0;
            } else {
                $datos[$id]['porcentaje'] = $item->cantDemandados * 100 / $suma;
            }
            $porcentaje = round($datos[$id]['porcentaje'], 2) . '%';

            $datos[$id]['etiqueta'] = $item->nombreEspe . ' (' . $porcentaje . ')';
            $reporte[$id]->porcentaje = $porcentaje;
        }

        $grafico[0]['tipo'] = 'torta';
        $grafico[0]['datos'] = $datos;

        $titulos = array(
            'Especialidad',
            'Cant Demandados',
            'Porcentajes',
            'Cant Subsidiados',
            'Cant No Subsidiados',
            'Importe Subsidiado'
        );
        $atributos = array(
            'nombreEspe',
            'cantDemandados',
            'porcentaje',
            'cantFProfSubs',
            'cantFProfNoSubs',
            'importeSub'
        );

        $data = array(
            'titulo' => 'Listado de Demandados por Especialidad',
            'datosusuario' => $this->datosusuario,
            'seleccionar' => 'reportes',
            //'matricula' => $estudioId,
            'reporte' => $reporte,
            'titulos' => $titulos,
            'atributos' => $atributos,
            'url' => 'reportes/demandados_especialidad/',
            'parametro' => $fechaDesde . '/' . $fechaHasta,
            'grafico' => $grafico
        );

        if ($print == 0) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/reporte');
            $this->load->view('templates/footer');
        } else {
            // load PDF Class
            $this->pdf = new mPDF('c', 'A4');

            $html = $this->load->view('reportes/reporte', $data, true);

            // LOAD a stylesheet
            $stylesheet = file_get_contents(base_url('template-admin/css/bootstrap.css'));
            $this->pdf->WriteHTML($stylesheet, 1);

            $stylesheet = file_get_contents(base_url('template-admin/css/pdf.css'));
            $this->pdf->WriteHTML($stylesheet, 1);


            //$this->pdf->WriteHTML('<pagebreak sheet-size="A5-L" />');
            //$this->pdf->WriteHTML('<tocentry content="A5 landscape" />');


            $this->pdf->WriteHTML($html);
            $this->pdf->Output();
        }
    }

    function buscar_pagos_conceptos() {
        $this->load->model('m_estudio', 'estudio');

        $valid = array(
            array('field' => 'fechaDesde', 'label' => 'Fecha Desde', 'rules' => 'trim|required'),
            array('field' => 'fechaHasta', 'label' => 'Fecha Hasta', 'rules' => 'trim|required'),
        );

        $this->form_validation->set_rules($valid);

        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $fechaDesde = $_POST['fechaDesde'];
                $fechaHasta = $_POST['fechaHasta'];
            } else {
                $fechaDesde = date('d/m/Y', strtotime('-1 year'));
                $fechaHasta = date('d/m/Y');
            }

            $data = array(
                'titulo' => 'Listado de Pagos por Conceptos',
                'datosusuario' => $this->datosusuario,
                'seleccionar' => 'reportes',
                'fechaDesde' => $fechaDesde,
                'fechaHasta' => $fechaHasta
                    // 'fuero' => $fueros
            );

            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/buscar_pagos_conceptos');
            $this->load->view('templates/footer');
        } else {
            redirect('reportes/pagos_por_conceptos/' . normal_to_database_date_2($this->input->post('fechaDesde')) . '/' . normal_to_database_date_2($this->input->post('fechaHasta')));
        }
    }

    function pagos_por_conceptos($fechaDesde, $fechaHasta, $print = 0) {
        $reporte = $this->reporte->getPagosPorConceptos($fechaDesde, $fechaHasta);

        $suma = 0;
        $unset = array();
        foreach ($reporte as $key => $item) {
            if ($item->importe == 0) {
                $unset[] = $key;
            } else {
                $suma = $suma + $item->importe;
            }
        }

        foreach ($unset as $id) {
            unset($reporte[$id]);
        }

        $datos = array();
        foreach ($reporte as $id => $item) {
            if ($item->importe == 0) {
                $datos[$id]['porcentaje'] = 0;
            } else {
                $datos[$id]['porcentaje'] = $item->importe * 100 / $suma;
            }
            $porcentaje = round($datos[$id]['porcentaje'], 2) . '%';

            $datos[$id]['etiqueta'] = $item->conceptoNombre . ' (' . $porcentaje . ')';
            $reporte[$id]->porcentaje = $porcentaje;
        }

        $grafico[0]['tipo'] = 'torta';
        $grafico[0]['datos'] = $datos;

        $titulos = array(
            'Concepto',
            'Importe',
        );
        $atributos = array(
            'conceptoNombre',
            'importe',
        );

        $data = array(
            'titulo' => 'Listado de Pagos por Concepto',
            'datosusuario' => $this->datosusuario,
            'seleccionar' => 'reportes',
            'subtitulo' => 'Fecha Desde: <span>' . database_to_normal_date($fechaDesde) . '</span><br/>Fecha Hasta: <span>' . database_to_normal_date($fechaHasta) . '</span>',
            'reporte' => $reporte,
            'titulos' => $titulos,
            'atributos' => $atributos,
            'url' => 'reportes/pagos_por_conceptos/',
            'parametro' => $fechaDesde . '/' . $fechaHasta . '/',
            'grafico' => $grafico
        );

        if ($print == 0) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/reporte');
            $this->load->view('templates/footer');
        } else {
            // load PDF Class
            $this->pdf = new mPDF('c', 'A4');

            $html = $this->load->view('reportes/reporte', $data, true);

            // LOAD a stylesheet
            $stylesheet = file_get_contents(base_url('template-admin/css/bootstrap.css'));
            $this->pdf->WriteHTML($stylesheet, 1);

            $stylesheet = file_get_contents(base_url('template-admin/css/pdf.css'));
            $this->pdf->WriteHTML($stylesheet, 1);


            //$this->pdf->WriteHTML('<pagebreak sheet-size="A5-L" />');
            //$this->pdf->WriteHTML('<tocentry content="A5 landscape" />');


            $this->pdf->WriteHTML($html);
            $this->pdf->Output();
        }
    }

    function buscar_causas_fuero() {
        // $this->load->model('m_depto_judicial', 'depto_judicial');

        $valid = array(
            //   array('field' => 'deptoJudicialId', 'label' => 'Dpto Judicial', 'rules' => 'trim|required'),
            array('field' => 'fechaDesde', 'label' => 'Fecha Desde', 'rules' => 'trim|required'),
            array('field' => 'fechaHasta', 'label' => 'Fecha Hasta', 'rules' => 'trim|required'),
            array('field' => 'fueroId', 'label' => 'Fuero', 'rules' => 'trim|required'),
        );

        $this->form_validation->set_rules($valid);

        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $fechaDesde = $_POST['fechaDesde'];
                $fechaHasta = $_POST['fechaHasta'];
            } else {
                $fechaDesde = date('d/m/Y', strtotime('-1 year'));
                $fechaHasta = date('d/m/Y');
            }

            $this->load->model('m_fuero', 'fuero');
            $fueros_array = $this->fuero->getList();

            $fueros[''] = 'Seleccione un fuero';

            foreach ($fueros_array as $value) {
                $fueros[$value->id] = $value->nombre;
            }

            $data = array(
                'titulo' => 'Listado de Causas Activas y Finalizadas por Fuero y Dpto Judicial',
                'datosusuario' => $this->datosusuario,
                'seleccionar' => 'reportes',
                'fechaDesde' => $fechaDesde,
                'fechaHasta' => $fechaHasta,
                'fuero' => $fueros
            );

            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/buscar_causas_fuero');
            $this->load->view('templates/footer');
        } else {
            redirect('reportes/causas_por_fuero/' . normal_to_database_date_2($this->input->post('fechaDesde')) . '/' . normal_to_database_date_2($this->input->post('fechaHasta')) . '/' . $this->input->post('fueroId'));
        }
    }

    function causas_por_fuero($fechaDesde, $fechaHasta, $fuero, $print = 0) {
        $titulos = array(
            'Depto Judicial',
            'Cant Causas Activas',
            'Cant Prof Subsidiados',
            'Cant Prof No Subsidiados',
            'Cant Causas Finalizadas',
            'Cant Prof Subsidiados',
            'Cant Prof No Subsidiados',
            'Cant Totales',
        );
        $atributos = array(
            'deptoJudicial',
            'cantActivas',
            'cantAProfSubs',
            'cantAProfNoSubs',
            'cantFinalizadas',
            'cantFProfSubs',
            'cantFProfNoSubs',
            'cantTotales',
        );
        $this->load->model('m_fuero', 'fuero');
        $this->fuero->get($fuero);


        $data = array(
            'titulo' => 'Listado de Causas Activas y Finalizadas por Fuero y Dpto Judicial',
            'subtitulo' => 'Fuero: <span>' . $this->fuero->nombre . '</span><br/>Fecha Desde: <span>' . database_to_normal_date($fechaDesde) . '</span><br/>Fecha Hasta: <span>' . database_to_normal_date($fechaHasta) . '</span>',
            'datosusuario' => $this->datosusuario,
            'seleccionar' => 'reportes',
            'pretitulo' => '<tr><th></th><th colspan="3" style="text-align:center">Causas Activas</th><th colspan="3" style="text-align:center">Causas Finalizadas</th><th></th></tr>',
            'reporte' => $this->reporte->getCausasPorFuero($fechaDesde, $fechaHasta, $fuero),
            'titulos' => $titulos,
            'atributos' => $atributos,
            'url' => 'reportes/causas_por_fuero/',
            'parametro' => $fechaDesde . '/' . $fechaHasta . '/' . $fuero . '/'
        );

        if ($print == 0) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/reporte');
            $this->load->view('templates/footer');
        } else {
            // load PDF Class
            $this->pdf = new mPDF('c', 'A4');

            $html = $this->load->view('reportes/reporte', $data, true);

            // LOAD a stylesheet
            $stylesheet = file_get_contents(base_url('template-admin/css/bootstrap.css'));
            $this->pdf->WriteHTML($stylesheet, 1);

            $stylesheet = file_get_contents(base_url('template-admin/css/pdf.css'));
            $this->pdf->WriteHTML($stylesheet, 1);


            //$this->pdf->WriteHTML('<pagebreak sheet-size="A5-L" />');
            //$this->pdf->WriteHTML('<tocentry content="A5 landscape" />');


            $this->pdf->WriteHTML($html);
            $this->pdf->Output();
        }
    }

    function buscar_subsidiados_fuero() {
        // $this->load->model('m_depto_judicial', 'depto_judicial');

        $valid = array(
            //   array('field' => 'deptoJudicialId', 'label' => 'Dpto Judicial', 'rules' => 'trim|required'),
            array('field' => 'fechaDesde', 'label' => 'Fecha Desde del Acto Médico', 'rules' => 'trim|required'),
            array('field' => 'fechaHasta', 'label' => 'Fecha Hasta del Acto Médico', 'rules' => 'trim|required'),
            array('field' => 'fueroId', 'label' => 'Fuero', 'rules' => 'trim|required'),
        );

        $this->form_validation->set_rules($valid);

        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $fechaDesde = $_POST['fechaDesde'];
                $fechaHasta = $_POST['fechaHasta'];
            } else {
                $fechaDesde = date('d/m/Y', strtotime('-1 year'));
                $fechaHasta = date('d/m/Y');
            }

            $this->load->model('m_fuero', 'fuero');
            $fueros_array = $this->fuero->getList();

            $fueros[''] = 'Seleccione un fuero';

            foreach ($fueros_array as $value) {
                $fueros[$value->id] = $value->nombre;
            }

            $data = array(
                'titulo' => 'Listado de Profesionales Subsidiados por Fuero',
                'datosusuario' => $this->datosusuario,
                'seleccionar' => 'reportes',
                'fechaDesde' => $fechaDesde,
                'fechaHasta' => $fechaHasta,
                'fuero' => $fueros
            );

            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/buscar_causas_fuero');
            $this->load->view('templates/footer');
        } else {
            redirect('reportes/subsidiados_por_fuero/' . normal_to_database_date_2($this->input->post('fechaDesde')) . '/' . normal_to_database_date_2($this->input->post('fechaHasta')) . '/' . $this->input->post('fueroId'));
        }
    }

    function subsidiados_por_fuero($fechaDesde, $fechaHasta, $fuero, $print = 0) {
        $titulos = array(
            'Nombre',
            'Matrícula',
            'Código de Espec.',
            'Fecha de Acto Médico',
            'Fecha de Presentación',
            'Carátula',
            'Seguro Privado (S/N)',
        );
        $atributos = array(
            'nombre',
            'matricula',
            'codEspecialidad',
            'fechaActoMedico',
            'fechaPresentacion',
            'caratula',
            'seguroPrivado',
        );
        $this->load->model('m_fuero', 'fuero');
        $this->fuero->get($fuero);

        $data = array(
            'titulo' => 'Listado de Profesionales Subsidiados por Fuero',
            'subtitulo' => 'Fuero: <span>' . $this->fuero->nombre . '</span><br/>Fecha Desde del Acto Médico: <span>' . database_to_normal_date($fechaDesde) . '</span><br/>Fecha Hasta del Acto Médico: <span>' . database_to_normal_date($fechaHasta) . '</span>',
            'datosusuario' => $this->datosusuario,
            'seleccionar' => 'reportes',
            'reporte' => $this->reporte->getSubsididosPorFuero($fechaDesde, $fechaHasta, $fuero),
            'titulos' => $titulos,
            'atributos' => $atributos,
            'url' => 'reportes/subsidiados_por_fuero/',
            'parametro' => $fechaDesde . '/' . $fechaHasta . '/' . $fuero . '/'
        );

        if ($print == 0) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/reporte');
            $this->load->view('templates/footer');
        } else {
            // load PDF Class
            $this->pdf = new mPDF('c', 'A4');

            $html = $this->load->view('reportes/reporte', $data, true);

            // LOAD a stylesheet
            $stylesheet = file_get_contents(base_url('template-admin/css/bootstrap.css'));
            $this->pdf->WriteHTML($stylesheet, 1);

            $stylesheet = file_get_contents(base_url('template-admin/css/pdf.css'));
            $this->pdf->WriteHTML($stylesheet, 1);


            //$this->pdf->WriteHTML('<pagebreak sheet-size="A5-L" />');
            //$this->pdf->WriteHTML('<tocentry content="A5 landscape" />');


            $this->pdf->WriteHTML($html);
            $this->pdf->Output();
        }
    }

    function buscar_causas_estado_procesal() {
        $this->load->model('m_depto_judicial', 'depto_judicial');

        $valid = array(
            array('field' => 'deptoJudicialId', 'label' => 'Dpto Judicial', 'rules' => 'trim|required'),
            array('field' => 'fechaDesde', 'label' => 'Fecha Desde', 'rules' => 'trim|required'),
            array('field' => 'fechaHasta', 'label' => 'Fecha Hasta', 'rules' => 'trim|required'),
            array('field' => 'fueroId', 'label' => 'Fuero', 'rules' => 'trim|required'),
        );

        $this->form_validation->set_rules($valid);

        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $fechaDesde = $_POST['fechaDesde'];
                $fechaHasta = $_POST['fechaHasta'];
            } else {
                $fechaDesde = date('d/m/Y', strtotime('-1 year'));
                $fechaHasta = date('d/m/Y');
            }

            $dptosjudiciales_array = $this->depto_judicial->getList();

            $dptosJudiciales[''] = 'Seleccione un Dpto Judicial';

            foreach ($dptosjudiciales_array as $value) {
                $dptosJudiciales[$value->id] = $value->nombre;
            }

            $this->load->model('m_fuero', 'fuero');
            $fueros_array = $this->fuero->getList();

            $fueros[''] = 'Seleccione un fuero';

            foreach ($fueros_array as $value) {
                $fueros[$value->id] = $value->nombre;
            }

            $data = array(
                'titulo' => 'Listado de Causas Finalizadas por Estado Procesal y Fuero',
                'datosusuario' => $this->datosusuario,
                'dptoJudicial' => $dptosJudiciales,
                'fechaDesde' => $fechaDesde,
                'fechaHasta' => $fechaHasta,
                'fuero' => $fueros,
                'seleccionar' => 'reportes',
            );

            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/buscar_causas_estado_procesal');
            $this->load->view('templates/footer');
        } else {
            redirect('reportes/causas_por_estado_procesal/' . $this->input->post('deptoJudicialId') . '/' . normal_to_database_date_2($this->input->post('fechaDesde')) . '/' . normal_to_database_date_2($this->input->post('fechaHasta')) . '/' . $this->input->post('fueroId'));
        }
    }

    function causas_por_estado_procesal($deptoJudicialId, $fechaDesde, $fechaHasta, $fuero, $print = 0) {
        $reporte = $this->reporte->getCausasPorEstadoProcesal($deptoJudicialId, $fechaDesde, $fechaHasta, $fuero);

        $suma = 0;
        $unset = array();
        foreach ($reporte as $key => $item) {
            if ($item->cantFavorables == 0) {
                $unset[] = $key;
            } else {
                $suma = $suma + $item->cantFavorables;
            }
        }

        $datos = array();
        foreach ($reporte as $id => $item) {
            if ($item->cantFavorables == 0) {
                $datos[$id]['porcentaje'] = 0;
            } else {
                $datos[$id]['porcentaje'] = $item->cantFavorables * 100 / $suma;
            }
            $porcentaje = round($datos[$id]['porcentaje'], 2) . '%';

            $datos[$id]['etiqueta'] = $item->estadoProcesal . ' (' . $porcentaje . ')';
            $reporte[$id]->porcentaje = $porcentaje;
        }

        $titulo = '% de Causas Favorables por Estado Procesal';
        $grafico[0]['tipo'] = 'torta';
        $grafico[0]['datos'] = $datos;
        $grafico[0]['titulo'] = $titulo;

        $suma = 0;
        $unset = array();
        foreach ($reporte as $key => $item) {
            if ($item->cantDesfavorables == 0) {
                $unset[] = $key;
            } else {
                $suma = $suma + $item->cantDesfavorables;
            }
        }

        $datos = array();
        foreach ($reporte as $id => $item) {
            if ($item->cantDesfavorables == 0) {
                $datos[$id]['porcentaje'] = 0;
            } else {
                $datos[$id]['porcentaje'] = $item->cantDesfavorables * 100 / $suma;
            }
            $porcentaje = round($datos[$id]['porcentaje'], 2) . '%';

            $datos[$id]['etiqueta'] = $item->estadoProcesal . ' (' . $porcentaje . ')';
            $reporte[$id]->porcentaje = $porcentaje;
        }
        $titulo = '% de Causas Desfavorables por Estado Procesal';
        $grafico[1]['tipo'] = 'torta';
        $grafico[1]['datos'] = $datos;
        $grafico[1]['titulo'] = $titulo;

        $titulos = array(
            'Estado Procesal',
            'Cant de Causas',
            'Cant Favorables',
            'Cant Desfavorables',
        );
        $atributos = array(
            'estadoProcesal',
            'cantFinalizadas',
            'cantFavorables',
            'cantDesfavorables',
        );
        $this->load->model('m_fuero', 'fuero');
        $this->fuero->get($fuero);

        $this->load->model('m_depto_judicial', 'depto_judicial');
        $this->depto_judicial->get($deptoJudicialId);


        $data = array(
            'titulo' => 'Listado de Causas Finalizadas por Estado Procesal y Fuero',
            'subtitulo' => 'Depto Judicial: <span>' . $this->depto_judicial->nombre . '</span><br/>Fuero: <span>' . $this->fuero->nombre . '</span><br/>Fecha Desde: <span>' . database_to_normal_date($fechaDesde) . '</span><br/>Fecha Hasta: <span>' . database_to_normal_date($fechaHasta) . '</span>',
            'datosusuario' => $this->datosusuario,
            'seleccionar' => 'reportes',
            //'pretitulo' => '<tr><th></th><th colspan="3" style="text-align:center">Causas Activas</tgetCausasPorEstadoProcesalh><th colspan="3" style="text-align:center">Causas Finalizadas</th><th></th></tr>',
            'reporte' => $reporte,
            'titulos' => $titulos,
            'atributos' => $atributos,
            'url' => 'reportes/causas_por_estado_procesal/',
            'parametro' => $deptoJudicialId . '/' . $fechaDesde . '/' . $fechaHasta . '/' . $fuero . '/',
            'grafico' => $grafico
        );

        if ($print == 0) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/reporte');
            $this->load->view('templates/footer');
        } else {
            // load PDF Class
            $this->pdf = new mPDF('c', 'A4');

            $html = $this->load->view('reportes/reporte', $data, true);

            // LOAD a stylesheet
            $stylesheet = file_get_contents(base_url('template-admin/css/bootstrap.css'));
            $this->pdf->WriteHTML($stylesheet, 1);

            $stylesheet = file_get_contents(base_url('template-admin/css/pdf.css'));
            $this->pdf->WriteHTML($stylesheet, 1);


            //$this->pdf->WriteHTML('<pagebreak sheet-size="A5-L" />');
            //$this->pdf->WriteHTML('<tocentry content="A5 landscape" />');


            $this->pdf->WriteHTML($html);
            $this->pdf->Output();
        }
    }

    function abogados_demandantes_por_causas($print = 0) {
        $reporte = $this->reporte->getAbogadosDemandatesPorCausas();

        $suma = 0;
        foreach ($reporte as $key => $item) {
            $suma = $suma + $item->cantCausas;
        }

        $datos = array();
        foreach ($reporte as $id => $item) {
            $datos[$id]['porcentaje'] = $item->cantCausas * 100 / $suma;

            $porcentaje = round($datos[$id]['porcentaje'], 2) . '%';

            $datos[$id]['etiqueta'] = $item->abogadoGrafico . ' (' . $porcentaje . ')';
            $reporte[$id]->porcentaje = $porcentaje;
        }

        $grafico[0]['tipo'] = 'torta';
        $grafico[0]['datos'] = $datos;

        $titulos = array(
            'Abogado Demandante',
            'Cant de Causas',
        );
        $atributos = array(
            'abogado',
            'cantCausas',
        );


        $data = array(
            'titulo' => 'Listado de Abogados Demandantes Por causas',
            'datosusuario' => $this->datosusuario,
            'seleccionar' => 'reportes',
            'reporte' => $reporte,
            'titulos' => $titulos,
            'atributos' => $atributos,
            'url' => 'reportes/abogados_demandates_por_causas',
            'parametro' => '',
            'grafico' => $grafico
        );

        if ($print == 0) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('reportes/leftbar');
            $this->load->view('reportes/reporte');
            $this->load->view('templates/footer');
        } else {
            // load PDF Class
            $this->pdf = new mPDF('c', 'A4');

            $html = $this->load->view('reportes/reporte', $data, true);

            // LOAD a stylesheet
            $stylesheet = file_get_contents(base_url('template-admin/css/bootstrap.css'));
            $this->pdf->WriteHTML($stylesheet, 1);

            $stylesheet = file_get_contents(base_url('template-admin/css/pdf.css'));
            $this->pdf->WriteHTML($stylesheet, 1);


            //$this->pdf->WriteHTML('<pagebreak sheet-size="A5-L" />');
            //$this->pdf->WriteHTML('<tocentry content="A5 landscape" />');


            $this->pdf->WriteHTML($html);
            $this->pdf->Output();
        }
    }

}

